home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
antenna
/
azproj10
/
az.nr
< prev
next >
Wrap
Text File
|
1995-07-19
|
10KB
|
264 lines
(text from the Central States VHF Soc abstracts, 1994
az_proj.ps - A program to create azimuthal equidistant
map projections
Joseph Mack (NA3T) and Michael Katzmann (NV3Z / VK2BEA / G4NYV) *
Abstract
The azimuthal equidistant, or 'great circle' map projection is a
useful tool for the radio amateur in quickly determining the correct
direction to point antennas between two points on the surface of the
earth. Unlike conventional maps, that attempt to maintain the shape of
surface features, the azimuthal projection maintains only the direction
and distance from a single site. The map, consequently, is only useful
for that site.
It was felt that a simple, inexpensive method for the individual to
create their own azimuthal projections was desirable. The flexibility to
customize the map, in order to show a particular area of interest and
include features required by the user, were of prime importance. The
criteria of simplicity, and non-dependence on specific hardware and
software were the principle motives in choosing the Postscript page
description language to implement this idea.
Capabilities
The program is capable of displaying a map from almost any point on
the earth at any scale. The map may be offset, so that an area can be
enlarged without having to include the base site. Thus a map based on
Washington DC has the ability to show, for example, only Europe. Grid
squares, based on the Maidenhead system, may be overlayed on the map at
the discretion of the user. Likewise compass bearings are optionally
available. Facilities have been included to print either callsigns or
country names from a standard file of DXCC callsigns available from the
ARRL bulletin board. Labels may be added to the map to indicate
features at the discretion of the user. One use of this might be to pro-
duce a local repeater or beacon map.
All of the program and data files in this package are freely redis-
tributable. The main map data is derived from the C.I.A. world data-
base. It has a resolution of between 50 and 100 metres. Maps can thus be
produced of quite small areas whilst retaining reasonable detail. Coun-
try borders, major rivers and lakes, islands and U.S., Canadian and Aus-
tralian states are included in the database. There is approximately four
megabytes of ascii data files, split into continents.
________
*
Joseph Mack. (301) 402-4573 (Work) Internet: mack@ncifcrf.gov
Michael Katzmann. (410) 721-5151 (Work) Internet: michael%vk2bea@secondsource.COM
NV3Z & NA3T Azimuthal Map Projections Page 2
Implementation
Postscript is a programming language developed by Adobe Systems for
use in desktop publishing. It is a page description language. That is to
say, one uses instructions to tell the device how to print characters or
figures on the page. A Postscript printer differs from a conventional
printer in that you must send it not just the text you want printed, but
a program that tells the printer how the text or data received is to be
interpreted. Postscript is a stack orientated language, much like
Forth, and its operation is somewhat analogous to an RPN calculator.
Data is pushed on the stack (last in first out) and then operated upon
by a function. The az_proj.ps program is entirely written in
Postscript, so that with a Postscript capable printer, all that is
required to create a map is to customize the program options and send it
(azproj.ps) and the data files to the printer. It is the printer, not
the computer that executes the program, transforming the latitude and
longitude information from the data files into bearing and distance, and
then drawing the map. In that sense the program is computer indepen-
dent, since the only purpose of the computer is to store the plain ASCII
files.
...but I don't have a Postscript printer!
If your printer doesn't understand Postscript, it is still quite
likely that you can use this program. A freely redistributable
Postscript interpreter is available that supports a myriad of printers
and display devices. This program is Ghostscript and is distributed
under the terms of the GNU public license. It runs on MS-DOS, MS-
Windows, Unix, VMS and other systems. Ghostscript interprets the
Postscript code and creates a bitmap that is printed or displayed. Under
this arrangement, the program is executed by the host computer, and it
is the printer that is the 'dumb' recipient of the bitmap.
Printer drivers for HP deskjet and paintjet series, HP laserjet,
Cannon bubblejet, Epson dot matrix and others are built into
Ghostscript. Video display drivers, which render Postscript on the
screen, are present for VGA, super VGA, MS-windows, the X Windows sys-
tem, GIF and PCX formats. This is an ideal way to preview the program,
to ensure that the output is what you expect, even if you actually print
it on a Postscript printer. If you have a fast computer, Ghostscript*
will probably give you better performance than a Postscript printer.
Postscript printers rarely have floating point math hardware installed,
which speeds the execution of this program greatly. An Intel 486/66 pro-
cessor is 18 times faster than an HP1200C/PS Postscript printer in exe-
cuting this program.
________
* Ghostscript is freely available (with the GNU License), on the
internet from ftp.cs.wisc.edu:/pub/ghost, and from the GNU servers
everywhere.
Ghostscript is Copyright Aladdin Enterprises.
NV3Z & NA3T Azimuthal Map Projections Page 3
Customizations
The program has been designed to allow easy modification, in order
to tailor the map to the user's preferences. Those parameters that are
most often changed, are clustered in the 'options' array. These vari-
ables are:
o latitude and longitude of the QTH, (the position that the distance
and bearing is referenced to)
o latitude and longitude of the center of the map, (the center of the
map does not need to be the same as the QTH)
o scale of the map in either km:cm or degrees of solid angle sub-
tended from the center of the earth (each degree is 60 nautical
miles)
o title of the map
o enable printing of lettered Maidenhead grid square boundaries
o enable printing of lettered Maidenhead designators
o enable printing of numbered Maidenhead grid square boundaries
o enable printing of numbered Maidenhead designators
o enable printing of compass bearing lines
o enable printing of distance circle
o enable printing of outer bearing circle
o if DXCC data file supplied, print either callsign or country name
The options array for a map of the continental US, based on Greenbelt MD
but centered on the mid west, would be configured as follows:
/options
[
39.0 -76.845 (WA3NAN - NASA Goddard)
40 -89 true % The midwest & enable offset
200 true % scale, km/cm (degrees),
true % landscape (portrait)
on on % letter grid squares, labels
on on % number grid squares, labels
on % compass circumference,
on off % compass radial spokes, outerborder
true % callsigns (country name)
] def
A comment in Postscript is preceded by a '%', thus we are able to
include some explanation with each variable. Other standard Postscript
NV3Z & NA3T Azimuthal Map Projections Page 4
variables can be modified to change color, line thickness, fonts and
font sizes. These are heavily sign-posted throughout the code, and
should be obvious to non-Postscript programmers. Colors for the various
features are defined in terms of R G B values from 0 (dark) to 1
(bright). For example we define a variable lightred as:
/lightred { 1.0 0.33 0.33 } def
We can use this later to define the color of, say, our grid square boun-
daries.
/grid_locator_letter_color /lightred cvx def
In Postscript a variable name is preceded by a '/'. The def assigns the
value to the variable.
Examples
The following example maps are intended to show some of the pro-
grammes capabilities. Since they are rendered in monochrome here, ena-
bling all the features on the one map would be quite confusing. The
enhanced definition available with a color print makes this practical
however. The following prints show:
1. The whole world with the compass lines and outer border.
2. Western Europe as it appears from Annapolis.
- This also shows the DXCC country callsigns which are read
directly from the ARRL file.
3. A regional map of the north-east US based on Newington CT.
- This includes both lettered and numbered Maidenhead grid
squares.
4. The CONUS based on Annapolis but centered on the mid-west.
Conclusion
It is hoped that this program will be of use to the amateur commun-
ity, and we encourage its wide distribution. There are still many ideas
to be included in future versions, and with constructive feedback from
users, no doubt its utility will be enhanced.